Computer workloads are executed by a platform, such as a computing machine, a server, a virtual server, a cloud-based server, or the like. The performance of a workload may be highly-affected by the configuration of the platform. In some cases, migrating the workload from one platform to another platform may drastically affect the performance, for better or for worse. As an example, the performance may be improved drastically. As another example, the performance may deteriorate even to the point in which the workload is deemed to not be handled properly (e.g., suffer from unacceptable latency, unable to process the requests due to lack of free memory, or the like).
Migration of a workload is not a trivial task. It may be hard to deploy the workload on the new system. In addition, deploying a workload on a new platform may not be desirable due to confidentiality of the data that is being processed by the workload. Consider a workload of a bank which involves the processing of highly-confidential financial transactions. Deploying the workload to a new platform, such as owned by a different vendor than the previous platform, may expose the confidential data to the new vendor and may not be desired until the bank is indeed certain that it would prefer to use the new platform. However, in order to make such decision, the bank would like to understand how the migration is expected to affect the performance of the workload.